import cookies from '@/utils/cookies.js';
import { url, removeUrlParam } from 'utils/url';
/**
 * 用户认证信息
 *
 *  前后台用户数据保存通过 sid 然后统一存放在 后台的 session中，所以我们每一个请求都需要在header中添加用户的认证信息字段
 *   sid : ........
 *   此字段保存在 cookie中
 *
 */

// 保存用户认证数据的名称
const SID_NAME = 'sid';

export function getSid() {
  // 优先获取 URL上的sid
  return url(`?${SID_NAME}`) || cookies.get(SID_NAME);
}

export function setSid(sid) {
  return cookies.set(SID_NAME, sid);
}

export function removeSid() {
  return cookies.remove(SID_NAME);
}

/**
 * 判断当前用户是否是游客
 * 
 *  --- 如果不是游客 那么会跳转到绑定手机号页面 redirect 传输的为当前页面的 vue-router 参数 不是 window.location.href
 */
export const judgeUserIsVisitor = vm => {
  let weixinPhoneFlag = vm.$store.state.base.user.weixinPhoneFlag;
  if (weixinPhoneFlag !== 'Y') {
    vm.$router.push({
      path: '/login',
      query: {
        sid: vm.$route.query.sid,
        // 对返回页面进行编码
        redirect: escape(removeUrlParam(vm.$route.fullPath)),
      },
    });
    return true;
  }
  return false;
};
